/*
 * @Description: vue-cli配置文件
 * @Autor: HuiSir<273250950@qq.com>
 * @Date: 2021-04-28 10:35:04
 * @LastEditTime: 2021-04-28 12:01:36
 */
const path = require('path')

/**
 * 路径组合
 */
const resolveSrc = (folder) => {
  return path.join(__dirname, '/src/', folder)
}

module.exports = {
  publicPath: '',	//应用的路径URL 默认为根目录。如果项目在子目录如"/web"目录，则需要配置"/web/"
  outputDir: "dist",	//打包后生成的生产环境构建文件的目录，默认为"dist",故此项可不用设
  assetsDir: 'assets',  //资源文件夹
  productionSourceMap: false, //关闭生产环境map
  lintOnSave: false, // 关闭检查

  /* 配置测试服务器，可使用代理解决跨域测试*/
  devServer: {
    //端口
    open: process.platform === 'darwin',
    host: '0.0.0.0',
    port: 8888,
    https: false,
    hotOnly: false,
    // proxy: { // 代理
    //   '/activity': {
    //     target: 'https://example.ipay.so/marketing',
    //     ws: true,
    //     changeOrigin: true
    //   },
    //   '/api': {
    //     target: 'http://localhost:8080', // 接口的域名
    //     changeOrigin: true,
    //   },
    // },
    // before: app => {
    //   // `app` 是一个 express 实例
    // }
  },

  /* 内置webpack配置,可使用链式操作 */
  chainWebpack: config => {
    /* 路径缩写 */
    config.resolve.alias
      .set('@c', resolveSrc('components'))
      .set('@v', resolveSrc('views'))

    /* 标题 */
    config
      .plugin('html').tap(args => {
        args[0].title = 'Vue3-ts-class-style-demo'
        return args
      })

    /* 配置图片文件支持 */
    config.module
      .rule('images')
      .test(/\.(png|jpe?g|gif|webp|ico|cur)(\?.*)?$/)
  }
}
